package collection;

import java.util.Deque;
import java.util.LinkedList;

/**
 * 栈结构: -> 双端队列
 * 栈结构可以使用双端队列完成，Deque为栈结构提供了对应的方法:push(入栈),pop(出栈)
 * 1.栈结构可以保存一组元素，但是存取元素必须遵循先进后出原则。
 * 2.通常使用栈来完成如:后退，前进这样的功能.
 */
public class StackDemo {
    public static void main(String[] args) {

        Deque<String> stack = new LinkedList<>();
        /** push(入栈) */
        stack.push("one");
        stack.push("two");
        stack.push("three");
        stack.push("四");
        stack.push("5");
        System.out.println(stack);
        //存取元素必须遵循先进后出原则。
        /** pop(出栈) */
        String str = stack.pop();
        System.out.println(str);

        //3种遍历
        stack.forEach(e-> System.out.println(e));
        System.out.println(stack);

        stack.forEach(System.out::println);
        System.out.println(stack);

        for(String s : stack){
            System.out.println(s);
        }
        System.out.println(stack);

    }
}
